#pragma once

#include <string>
#include <vector>

/**
  *	Useful methods for std::string operations
  */

namespace MB
{
	std::string::size_type FindNextEndSequence( const std::string &str, std::string::size_type beginIndex );
	std::string ReplaceCharacter( const std::string &str, const char &characterToReplace, const char &newCharacter );
	bool StringEndsWith( const std::string &str, const std::string &endString );
	bool StringEqualsStringIgnoreCase( const std::string &first, const std::string &second );
	bool StringSmallerStringIgnoreCase( const std::string &first, const std::string &second );
	bool StringStartsWith( const std::string &str, const std::string &startString );

	void Tokenize( const std::string &str, std::vector<std::string> *tokens,
		const std::string &delimiters = " " );
}